// samsting : this file is auto create.

#ifndef ALIYUN_Ons_OnsClusterListResponse_H_
#define ALIYUN_Ons_OnsClusterListResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ons {

class OnsClusterListResponse : public AcsResponse {
public:
  OnsClusterListResponse();

  class ClusterInfoDataDo {
    friend class OnsClusterListResponse;
  public:

    class BrokerInfoDataDo {
      friend class OnsClusterListResponse;
      friend class ClusterInfoDataDo;
    public:
      const string& GetClusterName(void) const;
      const string& GetBrokerName(void) const;
      int  GetBrokerId(void) const;
      const string& GetBrokerAddr(void) const;
      const string& GetBrokerIp(void) const;
      const string& GetVersion(void) const;
      float GetInTPS(void) const;
      float GetOutTPS(void) const;
      float GetInTotalYest(void) const;
      float GetOutTotalYest(void) const;
      float GetInTotalToday(void) const;
      float GetOutTotalToday(void) const;
    private:
      string ClusterName_;
      string BrokerName_;
      int    BrokerId_;
      string BrokerAddr_;
      string BrokerIp_;
      string Version_;
      float   InTPS_;
      float   OutTPS_;
      float   InTotalYest_;
      float   OutTotalYest_;
      float   InTotalToday_;
      float   OutTotalToday_;
    }; // BrokerInfoDataDo 

    const std::vector<BrokerInfoDataDo>& GetBrokerInfoList(void) const;
    const string& GetClusterName(void) const;
  private:
    std::vector<BrokerInfoDataDo> BrokerInfoList_;
    string ClusterName_;
  }; // ClusterInfoDataDo 

  const std::vector<ClusterInfoDataDo>& GetData(void) const;
  const string& GetHelpUrl(void) const;

private:
  std::vector<ClusterInfoDataDo> Data_;
  string HelpUrl_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ons {

#endif // #ifndef ALIYUN_Ons_OnsClusterListResponse_H_

// end of file 
